<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="androidpublisher_v3.html">Google Play Android Developer API</a> . <a href="androidpublisher_v3.generatedapks.html">generatedapks</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#download">download(packageName, versionCode, downloadId, x__xgafv=None)</a></code></p>
<p class="firstline">Downloads a single signed APK generated from an app bundle.</p>
<p class="toc_element">
  <code><a href="#download_media">download_media(packageName, versionCode, downloadId, x__xgafv=None)</a></code></p>
<p class="firstline">Downloads a single signed APK generated from an app bundle.</p>
<p class="toc_element">
  <code><a href="#list">list(packageName, versionCode, x__xgafv=None)</a></code></p>
<p class="firstline">Returns download metadata for all APKs that were generated from a given app bundle.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="download">download(packageName, versionCode, downloadId, x__xgafv=None)</code>
  <pre>Downloads a single signed APK generated from an app bundle.

Args:
  packageName: string, Package name of the app. (required)
  versionCode: integer, Version code of the app bundle. (required)
  downloadId: string, Download ID, which uniquely identifies the APK to download. Can be obtained from the response of `generatedapks.list` method. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
</pre>
</div>

<div class="method">
    <code class="details" id="download_media">download_media(packageName, versionCode, downloadId, x__xgafv=None)</code>
  <pre>Downloads a single signed APK generated from an app bundle.

Args:
  packageName: string, Package name of the app. (required)
  versionCode: integer, Version code of the app bundle. (required)
  downloadId: string, Download ID, which uniquely identifies the APK to download. Can be obtained from the response of `generatedapks.list` method. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
</pre>
</div>

<div class="method">
    <code class="details" id="list">list(packageName, versionCode, x__xgafv=None)</code>
  <pre>Returns download metadata for all APKs that were generated from a given app bundle.

Args:
  packageName: string, Package name of the app. (required)
  versionCode: integer, Version code of the app bundle. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response to list generated APKs.
  &quot;generatedApks&quot;: [ # All generated APKs, grouped by the APK signing key.
    { # Download metadata for split, standalone and universal APKs, as well as asset pack slices, signed with a given key.
      &quot;certificateSha256Hash&quot;: &quot;A String&quot;, # SHA256 hash of the APK signing public key certificate.
      &quot;generatedAssetPackSlices&quot;: [ # List of asset pack slices which will be served for this app bundle, signed with a key corresponding to certificate_sha256_hash.
        { # Download metadata for an asset pack slice.
          &quot;downloadId&quot;: &quot;A String&quot;, # Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.
          &quot;moduleName&quot;: &quot;A String&quot;, # Name of the module that this asset slice belongs to.
          &quot;sliceId&quot;: &quot;A String&quot;, # Asset slice ID.
          &quot;version&quot;: &quot;A String&quot;, # Asset module version.
        },
      ],
      &quot;generatedRecoveryModules&quot;: [ # Generated recovery apks for recovery actions signed with a key corresponding to certificate_sha256_hash. This includes all generated recovery APKs, also those in draft or cancelled state. This field is not set if no recovery actions were created for this signing key.
        { # Download metadata for an app recovery module.
          &quot;downloadId&quot;: &quot;A String&quot;, # Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.
          &quot;moduleName&quot;: &quot;A String&quot;, # Name of the module which recovery apk belongs to.
          &quot;recoveryId&quot;: &quot;A String&quot;, # ID of the recovery action.
          &quot;recoveryStatus&quot;: &quot;A String&quot;, # The status of the recovery action corresponding to the recovery apk.
        },
      ],
      &quot;generatedSplitApks&quot;: [ # List of generated split APKs, signed with a key corresponding to certificate_sha256_hash.
        { # Download metadata for a split APK.
          &quot;downloadId&quot;: &quot;A String&quot;, # Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.
          &quot;moduleName&quot;: &quot;A String&quot;, # Name of the module that this APK belongs to.
          &quot;splitId&quot;: &quot;A String&quot;, # Split ID. Empty for the main split of the base module.
          &quot;variantId&quot;: 42, # ID of the generated variant.
        },
      ],
      &quot;generatedStandaloneApks&quot;: [ # List of generated standalone APKs, signed with a key corresponding to certificate_sha256_hash.
        { # Download metadata for a standalone APK.
          &quot;downloadId&quot;: &quot;A String&quot;, # Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.
          &quot;variantId&quot;: 42, # ID of the generated variant.
        },
      ],
      &quot;generatedUniversalApk&quot;: { # Download metadata for a universal APK. # Generated universal APK, signed with a key corresponding to certificate_sha256_hash. This field is not set if no universal APK was generated for this signing key.
        &quot;downloadId&quot;: &quot;A String&quot;, # Download ID, which uniquely identifies the APK to download. Should be supplied to `generatedapks.download` method.
      },
      &quot;targetingInfo&quot;: { # Targeting information about the generated apks. # Contains targeting information about the generated apks.
        &quot;assetSliceSet&quot;: [ # List of created asset slices.
          { # Set of asset slices belonging to a single asset module.
            &quot;apkDescription&quot;: [ # Asset slices.
              { # Description of the created apks.
                &quot;assetSliceMetadata&quot;: { # Holds data specific to Split APKs. # Set only for asset slices.
                  &quot;isMasterSplit&quot;: True or False, # Indicates whether this APK is the main split of the module.
                  &quot;splitId&quot;: &quot;A String&quot;, # Id of the split.
                },
                &quot;instantApkMetadata&quot;: { # Holds data specific to Split APKs. # Set only for Instant split APKs.
                  &quot;isMasterSplit&quot;: True or False, # Indicates whether this APK is the main split of the module.
                  &quot;splitId&quot;: &quot;A String&quot;, # Id of the split.
                },
                &quot;path&quot;: &quot;A String&quot;, # Path of the Apk, will be in the following format: .apk where DownloadId is the ID used to download the apk using GeneratedApks.Download API.
                &quot;splitApkMetadata&quot;: { # Holds data specific to Split APKs. # Set only for Split APKs.
                  &quot;isMasterSplit&quot;: True or False, # Indicates whether this APK is the main split of the module.
                  &quot;splitId&quot;: &quot;A String&quot;, # Id of the split.
                },
                &quot;standaloneApkMetadata&quot;: { # Holds data specific to Standalone APKs. # Set only for standalone APKs.
                  &quot;fusedModuleName&quot;: [ # Names of the modules fused in this standalone APK.
                    &quot;A String&quot;,
                  ],
                },
                &quot;targeting&quot;: { # Represents a set of apk-level targetings. # Apk-level targeting.
                  &quot;abiTargeting&quot;: { # Targeting based on Abi. # The abi that the apk targets
                    &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                      { # Represents an Abi.
                        &quot;alias&quot;: &quot;A String&quot;, # Alias for an abi.
                      },
                    ],
                    &quot;value&quot;: [ # Value of an abi.
                      { # Represents an Abi.
                        &quot;alias&quot;: &quot;A String&quot;, # Alias for an abi.
                      },
                    ],
                  },
                  &quot;languageTargeting&quot;: { # Targeting based on language. # The language that the apk targets
                    &quot;alternatives&quot;: [ # Alternative languages.
                      &quot;A String&quot;,
                    ],
                    &quot;value&quot;: [ # ISO-639: 2 or 3 letter language code.
                      &quot;A String&quot;,
                    ],
                  },
                  &quot;multiAbiTargeting&quot;: { # Targeting based on multiple abis. # Multi-api-level targeting.
                    &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                      { # Represents a list of ABIs.
                        &quot;abi&quot;: [ # A list of targeted ABIs, as represented by the Android Platform
                          { # Represents an Abi.
                            &quot;alias&quot;: &quot;A String&quot;, # Alias for an abi.
                          },
                        ],
                      },
                    ],
                    &quot;value&quot;: [ # Value of a multi abi.
                      { # Represents a list of ABIs.
                        &quot;abi&quot;: [ # A list of targeted ABIs, as represented by the Android Platform
                          { # Represents an Abi.
                            &quot;alias&quot;: &quot;A String&quot;, # Alias for an abi.
                          },
                        ],
                      },
                    ],
                  },
                  &quot;screenDensityTargeting&quot;: { # Targeting based on screen density. # The screen density that this apk supports.
                    &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                      { # Represents a screen density.
                        &quot;densityAlias&quot;: &quot;A String&quot;, # Alias for a screen density.
                        &quot;densityDpi&quot;: 42, # Value for density dpi.
                      },
                    ],
                    &quot;value&quot;: [ # Value of a screen density.
                      { # Represents a screen density.
                        &quot;densityAlias&quot;: &quot;A String&quot;, # Alias for a screen density.
                        &quot;densityDpi&quot;: 42, # Value for density dpi.
                      },
                    ],
                  },
                  &quot;sdkVersionTargeting&quot;: { # Targeting based on sdk version. # The sdk version that the apk targets
                    &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                      { # Represents an sdk version.
                        &quot;min&quot;: 42, # Inclusive minimum value of an sdk version.
                      },
                    ],
                    &quot;value&quot;: [ # Value of an sdk version.
                      { # Represents an sdk version.
                        &quot;min&quot;: 42, # Inclusive minimum value of an sdk version.
                      },
                    ],
                  },
                  &quot;textureCompressionFormatTargeting&quot;: { # Targeting by a texture compression format. # Texture-compression-format-level targeting
                    &quot;alternatives&quot;: [ # List of alternative TCFs (TCFs targeted by the sibling splits).
                      { # Represents texture compression format.
                        &quot;alias&quot;: &quot;A String&quot;, # Alias for texture compression format.
                      },
                    ],
                    &quot;value&quot;: [ # The list of targeted TCFs. Should not be empty.
                      { # Represents texture compression format.
                        &quot;alias&quot;: &quot;A String&quot;, # Alias for texture compression format.
                      },
                    ],
                  },
                },
              },
            ],
            &quot;assetModuleMetadata&quot;: { # Metadata of an asset module. # Module level metadata.
              &quot;deliveryType&quot;: &quot;A String&quot;, # Indicates the delivery type for persistent install.
              &quot;name&quot;: &quot;A String&quot;, # Module name.
            },
          },
        ],
        &quot;packageName&quot;: &quot;A String&quot;, # The package name of this app.
        &quot;variant&quot;: [ # List of the created variants.
          { # Variant is a group of APKs that covers a part of the device configuration space. APKs from multiple variants are never combined on one device.
            &quot;apkSet&quot;: [ # Set of APKs, one set per module.
              { # A set of apks representing a module.
                &quot;apkDescription&quot;: [ # Description of the generated apks.
                  { # Description of the created apks.
                    &quot;assetSliceMetadata&quot;: { # Holds data specific to Split APKs. # Set only for asset slices.
                      &quot;isMasterSplit&quot;: True or False, # Indicates whether this APK is the main split of the module.
                      &quot;splitId&quot;: &quot;A String&quot;, # Id of the split.
                    },
                    &quot;instantApkMetadata&quot;: { # Holds data specific to Split APKs. # Set only for Instant split APKs.
                      &quot;isMasterSplit&quot;: True or False, # Indicates whether this APK is the main split of the module.
                      &quot;splitId&quot;: &quot;A String&quot;, # Id of the split.
                    },
                    &quot;path&quot;: &quot;A String&quot;, # Path of the Apk, will be in the following format: .apk where DownloadId is the ID used to download the apk using GeneratedApks.Download API.
                    &quot;splitApkMetadata&quot;: { # Holds data specific to Split APKs. # Set only for Split APKs.
                      &quot;isMasterSplit&quot;: True or False, # Indicates whether this APK is the main split of the module.
                      &quot;splitId&quot;: &quot;A String&quot;, # Id of the split.
                    },
                    &quot;standaloneApkMetadata&quot;: { # Holds data specific to Standalone APKs. # Set only for standalone APKs.
                      &quot;fusedModuleName&quot;: [ # Names of the modules fused in this standalone APK.
                        &quot;A String&quot;,
                      ],
                    },
                    &quot;targeting&quot;: { # Represents a set of apk-level targetings. # Apk-level targeting.
                      &quot;abiTargeting&quot;: { # Targeting based on Abi. # The abi that the apk targets
                        &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                          { # Represents an Abi.
                            &quot;alias&quot;: &quot;A String&quot;, # Alias for an abi.
                          },
                        ],
                        &quot;value&quot;: [ # Value of an abi.
                          { # Represents an Abi.
                            &quot;alias&quot;: &quot;A String&quot;, # Alias for an abi.
                          },
                        ],
                      },
                      &quot;languageTargeting&quot;: { # Targeting based on language. # The language that the apk targets
                        &quot;alternatives&quot;: [ # Alternative languages.
                          &quot;A String&quot;,
                        ],
                        &quot;value&quot;: [ # ISO-639: 2 or 3 letter language code.
                          &quot;A String&quot;,
                        ],
                      },
                      &quot;multiAbiTargeting&quot;: { # Targeting based on multiple abis. # Multi-api-level targeting.
                        &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                          { # Represents a list of ABIs.
                            &quot;abi&quot;: [ # A list of targeted ABIs, as represented by the Android Platform
                              { # Represents an Abi.
                                &quot;alias&quot;: &quot;A String&quot;, # Alias for an abi.
                              },
                            ],
                          },
                        ],
                        &quot;value&quot;: [ # Value of a multi abi.
                          { # Represents a list of ABIs.
                            &quot;abi&quot;: [ # A list of targeted ABIs, as represented by the Android Platform
                              { # Represents an Abi.
                                &quot;alias&quot;: &quot;A String&quot;, # Alias for an abi.
                              },
                            ],
                          },
                        ],
                      },
                      &quot;screenDensityTargeting&quot;: { # Targeting based on screen density. # The screen density that this apk supports.
                        &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                          { # Represents a screen density.
                            &quot;densityAlias&quot;: &quot;A String&quot;, # Alias for a screen density.
                            &quot;densityDpi&quot;: 42, # Value for density dpi.
                          },
                        ],
                        &quot;value&quot;: [ # Value of a screen density.
                          { # Represents a screen density.
                            &quot;densityAlias&quot;: &quot;A String&quot;, # Alias for a screen density.
                            &quot;densityDpi&quot;: 42, # Value for density dpi.
                          },
                        ],
                      },
                      &quot;sdkVersionTargeting&quot;: { # Targeting based on sdk version. # The sdk version that the apk targets
                        &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                          { # Represents an sdk version.
                            &quot;min&quot;: 42, # Inclusive minimum value of an sdk version.
                          },
                        ],
                        &quot;value&quot;: [ # Value of an sdk version.
                          { # Represents an sdk version.
                            &quot;min&quot;: 42, # Inclusive minimum value of an sdk version.
                          },
                        ],
                      },
                      &quot;textureCompressionFormatTargeting&quot;: { # Targeting by a texture compression format. # Texture-compression-format-level targeting
                        &quot;alternatives&quot;: [ # List of alternative TCFs (TCFs targeted by the sibling splits).
                          { # Represents texture compression format.
                            &quot;alias&quot;: &quot;A String&quot;, # Alias for texture compression format.
                          },
                        ],
                        &quot;value&quot;: [ # The list of targeted TCFs. Should not be empty.
                          { # Represents texture compression format.
                            &quot;alias&quot;: &quot;A String&quot;, # Alias for texture compression format.
                          },
                        ],
                      },
                    },
                  },
                ],
                &quot;moduleMetadata&quot;: { # Metadata of a module. # Metadata about the module represented by this ApkSet
                  &quot;deliveryType&quot;: &quot;A String&quot;, # Indicates the delivery type (e.g. on-demand) of the module.
                  &quot;dependencies&quot;: [ # Names of the modules that this module directly depends on. Each module implicitly depends on the base module.
                    &quot;A String&quot;,
                  ],
                  &quot;moduleType&quot;: &quot;A String&quot;, # Indicates the type of this feature module.
                  &quot;name&quot;: &quot;A String&quot;, # Module name.
                  &quot;targeting&quot;: { # Targeting on the module level. # The targeting that makes a conditional module installed. Relevant only for Split APKs.
                    &quot;deviceFeatureTargeting&quot;: [ # Targeting for device features.
                      { # Targeting for a device feature.
                        &quot;requiredFeature&quot;: { # Represents a device feature. # Feature of the device.
                          &quot;featureName&quot;: &quot;A String&quot;, # Name of the feature.
                          &quot;featureVersion&quot;: 42, # The feature version specified by android:glEsVersion or android:version in in the AndroidManifest.
                        },
                      },
                    ],
                    &quot;sdkVersionTargeting&quot;: { # Targeting based on sdk version. # The sdk version that the variant targets
                      &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                        { # Represents an sdk version.
                          &quot;min&quot;: 42, # Inclusive minimum value of an sdk version.
                        },
                      ],
                      &quot;value&quot;: [ # Value of an sdk version.
                        { # Represents an sdk version.
                          &quot;min&quot;: 42, # Inclusive minimum value of an sdk version.
                        },
                      ],
                    },
                    &quot;userCountriesTargeting&quot;: { # Describes an inclusive/exclusive list of country codes that module targets. # Countries-level targeting
                      &quot;countryCodes&quot;: [ # List of country codes in the two-letter CLDR territory format.
                        &quot;A String&quot;,
                      ],
                      &quot;exclude&quot;: True or False, # Indicates if the list above is exclusive.
                    },
                  },
                },
              },
            ],
            &quot;targeting&quot;: { # Targeting on the level of variants. # Variant-level targeting.
              &quot;abiTargeting&quot;: { # Targeting based on Abi. # The abi that the variant targets
                &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                  { # Represents an Abi.
                    &quot;alias&quot;: &quot;A String&quot;, # Alias for an abi.
                  },
                ],
                &quot;value&quot;: [ # Value of an abi.
                  { # Represents an Abi.
                    &quot;alias&quot;: &quot;A String&quot;, # Alias for an abi.
                  },
                ],
              },
              &quot;multiAbiTargeting&quot;: { # Targeting based on multiple abis. # Multi-api-level targeting
                &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                  { # Represents a list of ABIs.
                    &quot;abi&quot;: [ # A list of targeted ABIs, as represented by the Android Platform
                      { # Represents an Abi.
                        &quot;alias&quot;: &quot;A String&quot;, # Alias for an abi.
                      },
                    ],
                  },
                ],
                &quot;value&quot;: [ # Value of a multi abi.
                  { # Represents a list of ABIs.
                    &quot;abi&quot;: [ # A list of targeted ABIs, as represented by the Android Platform
                      { # Represents an Abi.
                        &quot;alias&quot;: &quot;A String&quot;, # Alias for an abi.
                      },
                    ],
                  },
                ],
              },
              &quot;screenDensityTargeting&quot;: { # Targeting based on screen density. # The screen densities that this variant supports
                &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                  { # Represents a screen density.
                    &quot;densityAlias&quot;: &quot;A String&quot;, # Alias for a screen density.
                    &quot;densityDpi&quot;: 42, # Value for density dpi.
                  },
                ],
                &quot;value&quot;: [ # Value of a screen density.
                  { # Represents a screen density.
                    &quot;densityAlias&quot;: &quot;A String&quot;, # Alias for a screen density.
                    &quot;densityDpi&quot;: 42, # Value for density dpi.
                  },
                ],
              },
              &quot;sdkVersionTargeting&quot;: { # Targeting based on sdk version. # The sdk version that the variant targets
                &quot;alternatives&quot;: [ # Targeting of other sibling directories that were in the Bundle. For main splits this is targeting of other main splits.
                  { # Represents an sdk version.
                    &quot;min&quot;: 42, # Inclusive minimum value of an sdk version.
                  },
                ],
                &quot;value&quot;: [ # Value of an sdk version.
                  { # Represents an sdk version.
                    &quot;min&quot;: 42, # Inclusive minimum value of an sdk version.
                  },
                ],
              },
              &quot;textureCompressionFormatTargeting&quot;: { # Targeting by a texture compression format. # Texture-compression-format-level targeting
                &quot;alternatives&quot;: [ # List of alternative TCFs (TCFs targeted by the sibling splits).
                  { # Represents texture compression format.
                    &quot;alias&quot;: &quot;A String&quot;, # Alias for texture compression format.
                  },
                ],
                &quot;value&quot;: [ # The list of targeted TCFs. Should not be empty.
                  { # Represents texture compression format.
                    &quot;alias&quot;: &quot;A String&quot;, # Alias for texture compression format.
                  },
                ],
              },
            },
            &quot;variantNumber&quot;: 42, # Number of the variant, starting at 0 (unless overridden). A device will receive APKs from the first variant that matches the device configuration, with higher variant numbers having priority over lower variant numbers.
          },
        ],
      },
    },
  ],
}</pre>
</div>

</body></html>